Week3.5-HA-Scalable-Architecture

Week 3.5: 고가용성 및 확장성 아키텍처

Multi-AZ, Auto Scaling, Load Balancer를 활용한 99.9% 가용성을 가진 엔터프라이즈급 웹 서비스

Pasted image 20250909144131.png

아키텍처 개요

인터넷 사용자
    ↓
Application Load Balancer (Multi-AZ)
    ↓
VPC (10.0.0.0/16)
├── ap-northeast-2a (가용영역 A)
│   ├── Public Subnet (10.0.1.0/24)
│   │   └── Web Server (Apache) - Auto Scaling
│   └── Private Subnet (10.0.2.0/24)
│       └── WAS Server (Tomcat)
├── ap-northeast-2c (가용영역 C)
│   ├── Public Subnet (10.0.3.0/24)
│   │   └── Web Server (Apache) - Auto Scaling
│   └── Private Subnet (10.0.4.0/24)
│       └── WAS Server (Tomcat)
└── RDS Multi-AZ MySQL
    ├── Primary (ap-northeast-2a)
    └── Standby (ap-northeast-2c)

고가용성 설계 원칙

1. 무결점 운영 (Zero Single Point of Failure)

모든 구성 요소가 이중화:
├── ALB: 2개 가용영역에 자동 배치
├── Web Server: 각 AZ에 최소 1대씩
├── WAS Server: 각 AZ에 최소 1대씩
└── Database: Primary + Standby

2. 자동 장애 복구

장애 감지 및 복구:
├── Health Check: 30초마다 상태 확인
├── Auto Scaling: 불건전 인스턴스 자동 교체
├── ALB: 장애 서버로 트래픽 중단
└── RDS: 자동 Failover (60초 이내)

3. 탄력적 확장

부하에 따른 자동 조절:
├── CPU 70% 이상: 서버 추가 생성
├── CPU 30% 이하: 서버 자동 제거
├── 최소 용량: 2대 (각 AZ 1대씩)
└── 최대 용량: 8대 (각 AZ 4대씩)

핵심 구성 요소

1. Application Load Balancer (ALB)

ALB: webapp-alb
├── Scheme: Internet-facing
├── IP address type: IPv4
├── Availability Zones:
│   ├── ap-northeast-2a (10.0.1.0/24)
│   └── ap-northeast-2c (10.0.3.0/24)
├── Security Group: webapp-alb-sg
├── Target Group: webapp-web-tg
└── Health Check: /webapp/health.html

2. Auto Scaling Group

Auto Scaling Group: webapp-web-asg
├── Launch Template: webapp-web-template
├── Min Size: 2 (각 AZ 최소 1대)
├── Desired Size: 2
├── Max Size: 8
├── Health Check Type: ELB + EC2
└── Scaling Policies:
    ├── Scale Up: CPU > 70%
    └── Scale Down: CPU < 30%

3. Multi-AZ RDS

RDS: webapp-db
├── Engine: MySQL 8.0
├── Multi-AZ: Enabled
├── Primary: ap-northeast-2a
├── Standby: ap-northeast-2c
└── Auto Failover: 60-120초

장애 복구 시나리오

웹 서버 1대 장애

1. ALB Health Check 실패 감지 (150초)
2. 해당 인스턴스로 트래픽 중단
3. Auto Scaling이 새 인스턴스 시작
4. 새 인스턴스 헬스 체크 통과
5. 트래픽 분산 재개

서비스 영향: 없음
복구 시간: 5-8분

가용영역 전체 장애

1. ap-northeast-2a 전체 장애
2. ALB가 2c AZ로만 트래픽 전달
3. Auto Scaling이 2c에서 인스턴스 추가
4. RDS Primary → Standby 자동 Failover

서비스 영향: 일시적 성능 저하
복구 시간: 2-5분

성능 비교

Week 3 vs Week 3.5

Week 3 (단일 인스턴스):
├── 동시 접속: ~300명
├── 응답 시간: 200ms
├── 처리량: ~200 req/sec
└── 가용성: 95%

Week 3.5 (HA + Auto Scaling):
├── 동시 접속: ~1,000명+
├── 응답 시간: 150ms
├── 처리량: ~800 req/sec
└── 가용성: 99.9%

비용 최적화

탄력적 비용 구조

최소 구성 (새벽):
├── Web Server: 2대
├── 월 비용: ~$80

최대 구성 (피크):
├── Web Server: 8대
├── 월 비용: ~$200 (일시적)

평균 비용: ~$120/월
비용 효율성: 300% 향상

Week 4로의 발전

추가할 영역

모니터링:
├── CloudWatch 대시보드
├── 알람 및 알림 체계
├── 성능 분석
└── 비용 분석

최적화:
├── 성능 튜닝
├── 보안 강화
├── 비용 최적화
└── 운영 자동화

Week 3.5 완성: 절대 죽지 않는 고가용성 웹 서비스 구축 완료
다음 단계: AWS EDU/Archive/조선대학교 AWS 멘토링/Edu Architecture/Week4-Operations-Architecture - 통합 모니터링 및 운영 최적화